package com.xiaolin.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaolin.admin.model.dto.SysMenuTree;
import com.xiaolin.admin.model.entity.SysMenu;

import java.util.List;

/**
 * <p>
 * 模块表 服务类
 * </p>
 *
 * @author xiaolin
 * @since 2024-08-01
 */
public interface SysMenuService extends IService<SysMenu> {
    List<SysMenuTree> getMenuTree(SysMenu menu);

    void checkUnique(SysMenu menu);

    void checkMenuRelation(Integer menuId);

    void checkRoleRelation(Integer menuId);

    boolean addMenu(SysMenu menu);

    SysMenu getMenu(Integer id);

    boolean updateMenu(SysMenu menu);

    boolean status(Integer id, String status);

    boolean deleteMenu(Integer id);

    List<SysMenuTree> getUserMenuPermissions();

    List<String> getUserApiPermissions();
}
